#include "Namedpipe.hpp"

int main()
{
    // int fd = open(PIPE_NAME.c_str(), O_WRONLY);
    // if(fd == -1)
    // {
    //     perror("open");
    //     exit(2);
    // }
    // string line;
    // while(true)
    // {
    //     std::cout << "client say: ";
    //     std::getline(std::cin, line);
    //     if(!std::cin.good())
    //         break;
    //     ssize_t s = write(fd, line.c_str(), line.size());
    //     if(s > 0)
    //     {
    //         std::cout << "client write " << s << " bytes" << std::endl;
    //     }
    //     else
    //     {
    //         perror("write");
    //         break;
    //     }
    // }
    // close(fd);

    NamedPipe named_pipe(PIPE_NAME,0666);
    named_pipe.OpenForWrite();

    std::string message;
    while(true)
    {
        std::cout << "client say: ";
        std::getline(std::cin, message);
        if(!std::cin.good())
            break;
        if(message == "quit")
            break;
        if(named_pipe.Write(message))
            std::cout << "client write " << message.size() << " bytes" << std::endl;
        else
        {
            perror("write");
            break;
        }
    }

    
    named_pipe.Close();
    return 0;
}